package com.huijie.core.constant;

import io.swagger.annotations.ApiModelProperty;

/**
 * @ClassName BussinessCode
 * @Description 业务返回码和对应返回描述枚举
 * @Author Alex
 * @Date 2018/9/20 19:45
 * @Version 1.0
 */
public enum BussinessCode {
    /*业务返回成功*/
    GLOBAL_SUCCESS(0000, "成功"),
    /*未知异常*/
    GLOBAL_EXCEPTION(9998, "未知异常"),
    /*用户名不能为空*/
    GLOBAL_LOGIN_NAME_NULL(0501, "用户名不能为空"),
    /*密码不能为空*/
    GLOBAL_LOGIN_PASS_NULL(0502, "密码不能为空"),
    /*用户名或密码不匹配*/
    GLOBAL_LOGIN_FAIL(0503, "用户名或密码不匹配"),
    /*系统登录异常*/
    GLOBAL_LOGIN_ERROR(0504, "系统登录异常"),
    /*验证码不能为空*/
    GLOBAL_CAPTCHA_NULL(0505, "验证码不能为空"),
    /*验证码输入错误*/
    GLOBAL_CAPTCHA_ERROR(0506, "验证码输入错误"),

    /*用户账号已存在，请重新输入*/
    USER_LOGIN_NAME_EXIST(1508, "用户账号已存在，请重新输入"),
    /*角色名称已存在，请重新输入*/
    ROLE_NAME_EXIST(1509, "角色名称已存在，请重新输入"),
    /*资源URL已存在，请重新输入*/
    RES_ADDRESS_EXIST(1510, "资源URL+METHOD已存在，请重新输入"),
    /*应用号码已存在，请重新输入*/
    APPLY_CODE_EXIST(1511, "应用号码已存在，请重新输入"),

    FACTORY_PURCHASE_CODE_NOT_MACTCHED_INVOICE_CODE(41901,"所输入采购单号与发货单号无法匹配，请检查后重新输入"),
    FACTORY_PURCHASE_SKU_NOT_EXIST(41902,"epc对应的sku在工厂采购数据中不存在"),

    FACTORY_PURCHASE_CODE_NOT_EXIST(46601,"采购单号不存在"),
    EPC_NOT_EXIST(46603,"epc不存在"),
    FACTORY_PURCODE_SKU_NOT_EXIST(46604,"采购单中不存在该SKU"),
    FACTORY_PURCODE_SKU_OVER_CHARGE(46605,"采购单中SKU超收"),

    /*user_password_incorrect 用户名密码不正确*/
    USER_PASSWORD_INCORRECT(81001, "user_password_incorrect 用户名密码不正确"),
    /*菜单不存在！*/
    RESOURCE_NONE(81002, "菜单不存在！"),
    /*角色不存在！*/
    ROLE_NONE(81003, "角色不存在！"),
    /*用户不存在！*/
    USER_NONE(81004, "用户不存在！"),
    /*用户已处理过此公告*/
    ANNOUNCEMENT_INFO_USER_EXIST(81005, "用户已处理过此公告！"),
    /*staff_type已被别的应用关联*/
    APPLY_STAFF_TYPE_EXIST(81006, "staff_type已被别的应用关联！"),
    /*接口参数验证:id不能小于0*/
    ID_LESS_THAN_0(81007,"id不能小于0"),
    /*接口参数验证:ids数组不能为空*/
    IDARRAY_LENGTH_LESS_THAN_0(81008,"数组不能为空"),
    /*接口参数验证:ids数组元素不能小于0*/
    IDARRAY_ELEMENT_LESS_THAN_0(81009,"ids数组中不能有小于0的元素"),
    /*接口参数验证:参数不能为空*/
    PARAM_NONE(81010,"重要参数不能为空！"),
    /*接口参数验证:参数范围在不0-255之间*/
    OUTNUMBER_0_TO_255(81011,"resType/resLevel范围必须在0-255之间！"),
    /*判断菜单是否可被删除：菜单下有子菜单则不能删*/
    EXIST_CHILD_RESOURCE(81012,"不允许删除，此菜单下还有子菜单  "),
    /*接口参数验证:数组元素不能小于-1*/
    IDARRAY_ELEMENT_LESS_THAN_MINIMUN(81013,"数组中不能有小于-1的元素"),
    /*此公告不存在*/
    ANNOUNCEMENT_INFO_NONE(81014, "公告不存在！"),
    /*参数实体为空，不做任何操作*/
    ENTITY_EMPTY(81015, "参数实体为空，不做任何操作"),
    /*用户不存在！*/
    APPLY_NONE(81016, "应用不存在！"),
    /*参数格式不正确*/
    PARAM_FORMAT_ERROR(81017, " 参数类型不合规，请输入数字型字符串！！！"),
	/*门店编号只有4位*/
    SHOP_CODE_LENGTH_ERROR(81018,"门店编号长度只能是4位"),
    ANNOUNCEMENT_INFO_EXIST(81019, "公告已存在！"),
    /*SKU不存在*/
    SKU_NONE(81020, "SKU不存在  "),
    TASK_NOT_EXIST(81021,"该任务不存在！！！"),
    VALUE_NOT_NULL(81022,"resType/resLevel不能为空！"),
    USERNAME_USERTYPE_MISMATCH(81023, "登录用户名和用户类型不匹配！！！"),
    ORDER_NO_NOT_EXIST(812024, "该单号：[{orderNo}]不存在！！！"),
    ORDER_NOT_DELIVERY(812025, "该单号：[{orderNo}]还未发货！！！"),
    ORDER_RECEIVED(812026, "该单号：[{orderNo}]已收货完成！！！"),
    SKU_OVER_QTY(812027, "该SKU数量超收：{SKU}"),
    SKU_NOT_EXISTS(812028, "该SKU：[{SKU}]不存在于该订单中[{orderNo}]"),
    EPC_NOT_EXISTS(812029, "以下EPC不存在：{EPC}"),
    INV_NOT_EXISTS(812029, "该盘点范围的盘点单不存在："),
    LOST_PARENT_MENU(812030,"此菜单不是顶级菜单可它却缺少父菜单或者缺少顶级菜单"),
    PROPERTY_EXISTS(58001, "属性名已存在"),
    WARE_CODE_NONE(230301,"仓库编号不存在！"),
    PROD_CODE_NONE(230302,"款号不存在！")
    ;

    BussinessCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 返回码
     */
    @ApiModelProperty(value = "业务返回码")
    private int code;

    /**
     * 返回信息
     */
    @ApiModelProperty(value = "业务返回描述")
    private String message;


    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

}
